<?php
/**
 * 系统管理模块路由配置
 * 增强版：支持完整CRUD操作，兼容oa_area接口
 * 路由规范化完成标记 - 已按照ROUTE_STANDARDIZATION_PLAN.md统一为/api前缀路由
 * 
 * 地区路由整合说明：
 * - 统一使用system.Region控制器作为唯一地区管理入口
 * - 兼容原有home模块的地区接口
 * - 所有地区相关API统一在此管理
 */

use think\facade\Route;

// 系统相关路由
Route::group('api/system', function () {
    // 地区相关路由 - 统一管理所有地区操作
    Route::group('region', function () {
        Route::get('', 'system.Region/index');          // 获取地区列表（基础列表）
        Route::get('/list', 'system.Region/index');     // 兼容：获取地区列表（基础列表）
        Route::get('/tree', 'system.Region/tree');      // 获取树形结构地区列表
        Route::get('/active', 'system.Region/active');  // 获取启用地区列表
        Route::get('/:id', 'system.Region/show');       // 查看地区详情
        Route::post('', 'system.Region/create');        // 新增地区
        Route::put('/:id', 'system.Region/update');     // 编辑地区
        Route::delete('/:id', 'system.Region/delete');  // 删除地区
        Route::post('/set', 'system.Region/setStatus'); // 设置地区状态（兼容前端调用）
    });
    
    // 优化版地区路由 - 解决大数据量传输问题
    Route::group('region-optimized', function () {
        Route::get('/provinces', 'system.RegionOptimized/getProvinces');      // 获取省份列表
        Route::get('/cities/:province_id', 'system.RegionOptimized/getCities'); // 获取城市列表
        Route::get('/districts/:city_id', 'system.RegionOptimized/getDistricts'); // 获取区县列表
        Route::get('/search', 'system.RegionOptimized/search');              // 搜索地区
        Route::get('/full-path/:id', 'system.RegionOptimized/getFullPath');  // 获取完整地址路径
        Route::post('/batch', 'system.RegionOptimized/batch');               // 批量获取地区信息
        Route::delete('/cache', 'system.RegionOptimized/clearRegionCache');         // 清除地区缓存
    });
});

// 向后兼容：保持home模块的地区接口，但指向统一的system.Region控制器
Route::group('api/home', function () {
    // 地区相关路由 - 兼容原有接口，统一使用system.Region控制器
    Route::group('area', function () {
        Route::get('', 'system.Region/index');         // 兼容：获取地区列表
        Route::get('/list', 'system.Region/index');    // 兼容：获取地区列表
        Route::get('/:id', 'system.Region/show');      // 兼容：查看单个地区信息
        Route::get('/set', 'system.Region/active');    // 兼容：获取启用地区列表
    });
});

// 路由规范化完成标记
// ROUTE_STANDARDIZATION_DONE: system.php - 所有系统模块路由已统一使用/api前缀